package com.class05.controller;


import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class LoginController {

//    第一步：请求preLogin，返回login页面
//    第二部，填写表单，通过get方式提交login请求来到java中login方法，
//    将表单数据封装到model中，返回index页面
//    第三部，通过thymeleaf标签，获取model中的数据，渲染页面

    @RequestMapping("/preLogin")
    public String preLogin(){
        return "login";
    }
//    model域对象的演示
    @RequestMapping("/login")
    public String login(Model model, HttpServletRequest request){
        model.addAttribute("username", request.getParameter("username"));
        return "index";
    }


//    演示ModelMap域对象的使用
    @RequestMapping("/login2")
    public String login2(ModelMap modelMap, HttpServletRequest request){
        modelMap.addAttribute("username", request.getParameter("username"));
        return "index";
    }

    @RequestMapping("/login3")
    public ModelAndView login3(HttpServletRequest request) {
        // 从请求中获取用户名参数
        String username = request.getParameter("username");

        // 创建ModelAndView对象
        ModelAndView view = new ModelAndView();

        // 将用户名添加到模型中
        view.addObject("username", username);

        // 设置视图名称，也就是返回的页面
        view.setViewName("index");

        // 返回ModelAndView对象
        return view;
    }
}
